<?php
$mangso = array('Không','Một','Hai','Ba','Bốn','Năm','Sáu','Bảy','Tám','Chín');
function dochangchuc($so,$daydu)
{
	global $mangso;
	$chuoi = "";
	$chuc = floor($so/10);
	$donvi = $so%10;
	if ($chuc>1) {
		$chuoi = " " . $mangso[$chuc] . " Mươi";
		if ($donvi==1) {
			$chuoi .= " Mốt";
		}
	} else if ($chuc==1) {
		$chuoi = " Mười";
		if ($donvi==1) {
			$chuoi .= " Một";
		}
	} else if ($daydu && $donvi>0) {
		$chuoi = " Lẻ";
	}
	if ($donvi==5 && $chuc>1) {
		$chuoi .= " Lăm";
	} else if ($donvi>1||($donvi==1&&chuc==0)) {
		$chuoi .= " " . $mangso[$donvi];
	}
	return $chuoi;
}
function docblock($so,$daydu)
{
	global $mangso;
	$chuoi = "";
	$tram = floor($so/100);
	$so = $so%100;
	if ($daydu || $tram>0) {
		$chuoi = " " . $mangso[$tram] . " Trăm";
		$chuoi .= dochangchuc($so,true);
	} else {
		$chuoi = dochangchuc($so,false);
	}
	return $chuoi;
}
function dochangtrieu($so,$daydu)
{
	$chuoi = "";
	$trieu = floor($so/1000000);
	$so = $so%1000000;
	if ($trieu>0) {
		$chuoi = docblock($trieu,$daydu) . " Triệu";
		$daydu = true;
	}
	$nghin = floor($so/1000);
	$so = $so%1000;
	if ($nghin>0) {
		$chuoi .= docblock($nghin,$daydu) . " Nghìn";
		$daydu = true;
	}
	if ($so>0) {
		$chuoi .= docblock($so,$daydu);
	}
	return $chuoi;
}
function docso($so)
{
        global $mangso;
        if ($so==0) return $mangso[0];
	$chuoi = "";
	$hauto = "";
	do {
		$ty = $so%1000000000;
		$so = floor($so/1000000000);
		if ($so>0) {
			$chuoi = dochangtrieu($ty,true) . $hauto . $chuoi;
		} else {
			$chuoi = dochangtrieu($ty,false) . $hauto . $chuoi;
		}
		$hauto = " Tỷ";
	} while ($so>0);
	return $chuoi;
}
?>
